#include <cmath>
#include <iostream>
#include <vector>
#include <queue>
#include <algorithm>
#include <map>
#include <set>
#include <cstring>
#define endl "\n"
using namespace std;
int fangxiang[4][2]={{1,0},{-1,0},{0,-1},{0,1}};
char ch[5][5];
bool pan[5][5];
struct node
{
	int x,y;
}pl[100][100];
void prin(int x,int y)
{
	if(pl[x][y].x==-1&&pl[x][y].y ==-1)
	{
		cout<<"(0, 0)"<<endl;
		return ;
	}
	prin(pl[x][y].x,pl[x][y].y );
	cout<<"("<<x<<","<<" "<<y<<")"<<endl;
	return ;

}
 bool panduan(int x,int y)
{
	if(x<0||x>=5||y<0||y>=5)
	return 0;
	if(pan[x][y]==1||ch[x][y]=='1')
	return 0;
	return 1;
}
void bfs(int x,int y)
{
	queue<node>p;
	p.push({x,y});
	pan[x][y]=1;
	pl[0][0].x=-1;
	pl[0][0].y=-1;
	while(!p.empty())
	{
		node q;
		q=p.front();
		p.pop();
		for(int i=0;i<4;i++)
		{
			int ax=q.x+fangxiang[i][0];
			int ay=q.y+fangxiang[i][1];
			if(panduan(ax,ay))
			{
				pan[ax][ay]=1;
				p.push({ax,ay});
				pl[ax][ay].x=q.x;
				pl[ax][ay].y=q.y;
				if(ax==4&&ay==4)return ;
			}
		}

	}


}
int main()
{
	for(int i=0;i<5;i++)
	{
		for(int j=0;j<5;j++)
		{
			cin>>ch[i][j];
		}
	}
	bfs(0,0);
	prin(4,4);
	return 0;
}
